package org.point.controller;

import java.io.IOException;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.point.common.controller.BaseController;
import org.point.domain.Login;
import org.point.service.LoginService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

import com.alibaba.fastjson.JSONObject;

/**
 * 
 * @ClassName: LoginController  
 * @Description: TODO(这里用一句话描述这个类的作用)  
 * @author Szqiu szqiuk@gmail.com
 * @date 2016年10月24日 上午11:05:16  
 *
 */
@Controller
@RequestMapping("/login")
public class LoginController extends BaseController {

	@Autowired
	private LoginService service;

	/**
	 * 验证用户登录是否正确
	 * 
	 * @param record
	 * @param request
	 * @param response
	 */
	@RequestMapping(value = "/gologin.do")
	public void doLogin(Login record, HttpServletRequest request,
			HttpServletResponse response) {
		
		JSONObject jsonObj = new JSONObject();
		Integer sign = null;
		try {
			// 判断传入参数是否不合法
			if ((record.getLoginEmail().trim().length() > 0 && record.getLoginPwd().trim().length() > 0)) {
				// 查询返回结果
				sign = service.doLogin(record);
				jsonObj.put("gologin_start", "0");
				// 根据返回结果，返回不同提示
				if (sign == -1) {
					jsonObj.put("gologin_msg", "该用户还没有注册，请先注册！");
				} else if (sign == 0) {
					jsonObj.put("gologin_msg", "密码错误，请重新输入！");
				} else {
					jsonObj.put("gologin_msg", "账号密码正确");
					jsonObj.put("gologin_start", "1");
				}
			} else {
				jsonObj.put("gologin_msg", "请填写用户名密码！");
			}
		} catch (Exception e) {
			throw new RuntimeException("登录失败！", e);
		}finally {
			try {
				feedback(response, jsonObj.toString());
			} catch (IOException e) {
				throw new RuntimeException("网络错误，请联系管理员！", e);
			}
		}

	}

	/**
	 * 验证用户邮箱是否已经注册
	 * 
	 * @param record
	 * @param request
	 * @param response
	 */
	@RequestMapping(value = "/checkLoginEmail.do", method = RequestMethod.POST)
	public void checkLoginEmail(@ModelAttribute("Login") Login record, HttpServletRequest request,
			HttpServletResponse response,String pwd) {
		try {
			JSONObject jsonObj = new JSONObject();
			Integer sign = null;

			// 判断传入参数是否不合法
			if (record.getLoginEmail().trim().length() > 0) {
				// 查询返回结果
				sign = service.checkLoginEmail(record);
				// 根据返回结果，返回不同提示
				if (sign == 0) {
					jsonObj.put("checklogin_msg", "该用户还没有注册，请先注册！");
				} else {
					jsonObj.put("checklogin_msg", "");
				}
			} else {
				jsonObj.put("checklogin_msg", "请填写用户名密码！");
			}

			feedback(response, jsonObj.toString());

		} catch (Exception e) {
			e.printStackTrace();
		}

	}

}
